1. FIELD OF THE INVENTION
The present invention relates to document generation systems implemented by means of digital computers and more particularly to document generation systems employing expert systems and to the knowledge base and inference engine components of expert systems.
2. Prior Art Many business and legal documents are "written" by combining pieces of pre-existing text (often called "boilerplate" a required by the situation for which the document is being written and then adding to or editing the result, again as required by the situation. Many documents involving boilerplate were formerly produced rising forms from form books. The form's text contained the information which did not vary from transaction to transaction, while blanks were left for varying information.
With the development of text editing programs (generally termed "editors") for computers, it became possible to automate the form book. The originator of the form provided a template document which was stored in the computer, and people using the editor to make documents which used the form simply copied the template document into the document they were making and then filled in the missing information. The automation rapidly went beyond making a template document and copying it, and a class of systems called document generation systems emerged. A document generation system employs a template document and information provided interactively or from a data base to generate a document which is specifically tailored to the situation for which it is assembled. A survey of such systems may be found in the following article:
James A. Eidelman, "The Computer as Electronic Form Book, Available Software Tools", Legal Economics, May-June 1988
Various approaches have been taken to document generation. Some editing programs have macro languages, which permit the user to write programs executed by the editor. By including such a program with a template document, the template document became a document generation system. Other document generation programs separate the program which uses the template from the template. Some document generation systems even employ expert systems with knowledge bases. The information in the knowledge base is used to determine what questions should be asked the person for whom the document is being prepared and to determine to determine what information should be included in the document being generated.
A persistent problem in the design of document generation systems has been achieving power without undue complexity. Powerful document generation systems generally required that the person designing the system have a programmer's skills; document generation systems which did not require such skills often did little more than permit the user to select among parts of the template. In the case of document generation systems using expert systems, a particular problem has been the integration of the expert system which provided the information needed to produce the document with the editor which actually produced it. The foregoing and other problems are solved by the document generation apparatus and methods disclosed herein.